<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Aquamat: Dokumentacja pliku temp.c</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="doxygen.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<!-- Wygenerowano przez Doxygen 1.6.1 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Strona&nbsp;główna</span></a></li>
      <li><a href="pages.html"><span>Dodatkowe&nbsp;strony</span></a></li>
      <li><a href="annotated.html"><span>Struktury&nbsp;Danych</span></a></li>
      <li class="current"><a href="files.html"><span>Pliki</span></a></li>
    </ul>
  </div>
  <div class="tabs">
    <ul>
      <li><a href="files.html"><span>Lista&nbsp;plików</span></a></li>
      <li><a href="globals.html"><span>Globalne</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Dokumentacja pliku temp.c</h1><h3>(r58/r57)</h3>
<p>Implementacja kontroli temperatury.  
<a href="#_details">Więcej...</a></p>
<code>#include &quot;<a class="el" href="aquamat_8h_source.html">aquamat.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="one__wire_8h_source.html">one_wire.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="temp_8h_source.html">temp.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="outputs_8h_source.html">outputs.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="timers_8h_source.html">timers.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="alarms_8h_source.html">alarms.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="log_8h_source.html">log.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="strings_8h_source.html">strings.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="usart_8h_source.html">usart.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="hd44780_8h_source.html">hd44780.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Funkcje</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#ab4719f3a050de5d1fe4d846d9ab82fd7">temp_read_scratchpad</a> (uint8_t *buffer)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a19ad9eed125e4bba3cf105136837b881">temp_set_outs</a> (uint8_t s)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#aeaf33e3e317e62f77f60cd71d94f500e">temp_ds_to_dec</a> (<a class="el" href="aquamat_8h.html#a1540f4879d7cf61a5045f830883d843b">TEMP</a> t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a7bc10126e668e67acd24a77475ce5950">temp_dec_to_ds</a> (uint8_t dec)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a9c945e5ff8e1173034f437d897239b39">temp_read_temp_from_ds</a> (uint8_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a7bb66433d9fa07804316b3b46bc53ead">temp_set_next_convert</a> (uint8_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a1006baf3907971c5da24db7cebd0b30b">temp_read_temperature</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#afdc2507dc314b972dede2286438a0f78">temp_set_alarms</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a4b932defe27b22fd46ce23af5568f187">temp_control_outs</a> (uint8_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a3965e7342d22e5fbaae061313cadf462">temp_badreads</a> (int8_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a95624d866c9269a0c24cb9081d6f0e53">temp_set_daynight</a> (uint8_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a0be120dbdab3d117238c1abfcbf76e77">temp_set_failure</a> (uint8_t id, uint8_t new_state)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a76be994675cb64fe7d3ae20d0bac5473">temp_check_tresholds</a> (uint8_t id)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#ac03d277ff8aab50c0865b6ec76d7dfed">temp_discover_sensors</a> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a0c427afd8b0a332f2f847621104b76f0">temp_register</a> (void)</td></tr>
<tr><td colspan="2"><h2>Zmienne</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="ui_8c.html#a200eaeded377a7a8d9222c3eb6d0031d">PROGMEM</a> const uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#af8aa26bf0f43e58338299be33649f3de">TEMP_CONVERT_DEC_TO_DS</a> []</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="ui_8c.html#a200eaeded377a7a8d9222c3eb6d0031d">PROGMEM</a> const uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a50d2b3ef52ff35d24b62df8b9ade0487">TEMP_CONVERT_DS_TO_DEC</a> []</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structTEMP__SENSOR.html">TEMP_SENSOR</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a401d891434b06c8f80c37ebc9fe5198f">temp_sensors</a> [TEMP_SENSORS_NUM]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a7181d034ffff2a9c93bef50c176b638c">arr</a> [9]</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint16_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="temp_8c.html#a9cb6a18b849344440771102399431784">temp_var</a></td></tr>
</table>
<hr/><a name="_details"></a><h2>Opis szczegółowy</h2>
<p>Implementacja kontroli temperatury. </p>
<p>Kontrola temperatury oparta jest o czujniki DS18B20. Teoretyczna ilość czujników jest ograniczona samą magistralą <em>1-wire</em> , ponieważ wszystkie czujniki wiszą na jednym przewodzie. Rozróżniane są za pomocą adresu ROM. Dane czujników przechowywane są w strukturze <em><a class="el" href="structTEMP__SENSOR.html" title="Struktura przechowywująca dane o czujnikach.">TEMP_SENSOR</a></em> .</p>
<h2><a class="anchor" id="temp_control">
Kontrola temperatury</a></h2>
<div align="center">
<img src="temp_control.png" alt="temp_control.png"/>
</div>
<p>Działania algorytmu strującego są nastepujące: </p>
<div class="fragment"><pre class="fragment">
                                                                  HEATING     COOLING     ALARM
CURRENT_TEMP &gt; MAX_TEMP                                     ----&gt;                         MAX
CURRENT_TEMP &gt; TARGET_TEMP(TARGET_NIGHT_TEMP) + HISTERESIS  ----&gt;                1
CURRENT_TEMP &gt; TARGET_TEMP(TARGET_NIGHT_TEMP)               ----&gt;    0
CURRENT_TEMP &lt; TARGET_TEMP(TARGET_NIGHT_TEMP)               ----&gt;                0
CURRENT_TEMP &lt; TARGET_TEMP(TARGET_NIGHT_TEMP) - HISTERESIS  ----&gt;    1 
CURRENT_TEMP &lt; MAX_TEMP                                     ----&gt;                         MIN
</pre></div><h3><a class="anchor" id="temp_format">
Format temperatury</a></h3>
<p>Wrtość temperatury przechowywana jest w zmiennych 16-bitowych. Format przechowywania temperatury jest następujący: </p>
<div class="fragment"><pre class="fragment">
FEDCBA98|76543210  - numer bitu
    XXXX XXXX      - dziesiątki i jedności wartości temperatury w postaci dziesiętnej 
             YYYY  - dziesiętna część wartości temperatury
     1     4   2   - temp 20.1 st. C 
</pre></div><h3><a class="anchor" id="temp_sensors">
Czujnik temperatury</a></h3>
<p>Jako czujnik temperatury wykorzystany jest DS18B20. Trzykońcówkowy czujnik podłączony jest do sterownika za pomocą wtyczki Jack stereo 3,5mm jak na ponizszym rysunku:</p>
<div align="center">
<img src="jack_temp_sensor.jpg" alt="jack_temp_sensor.jpg"/>
</div>
<dl class="todo"><dt><b><a class="el" href="todo.html#_todo000001">Do zrobienia:</a></b></dt><dd><ul>
<li>kalibracja czujników</li>
<li>nazewnictwo czujników zamiana miejscami </li>
</ul>
</dd></dl>
<hr/><h2>Dokumentacja funkcji</h2>
<a class="anchor" id="a3965e7342d22e5fbaae061313cadf462"></a><!-- doxytag: member="temp.c::temp_badreads" ref="a3965e7342d22e5fbaae061313cadf462" args="(int8_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_badreads </td>
          <td>(</td>
          <td class="paramtype">int8_t&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ustawia flagi badreads </p>

</div>
</div>
<a class="anchor" id="a76be994675cb64fe7d3ae20d0bac5473"></a><!-- doxytag: member="temp.c::temp_check_tresholds" ref="a76be994675cb64fe7d3ae20d0bac5473" args="(uint8_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_check_tresholds </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Sprawdza progi i wystawia alarm. </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>identyfikator czujnika </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4b932defe27b22fd46ce23af5568f187"></a><!-- doxytag: member="temp.c::temp_control_outs" ref="a4b932defe27b22fd46ce23af5568f187" args="(uint8_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_control_outs </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ustawia flagi wyjść </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>indentyfikator czujnika </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7bc10126e668e67acd24a77475ce5950"></a><!-- doxytag: member="temp.c::temp_dec_to_ds" ref="a7bc10126e668e67acd24a77475ce5950" args="(uint8_t dec)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t temp_dec_to_ds </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>dec</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Konwertuje dzisiętne części temperatury z formatu dziesiętnego na format ds. </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dec</em>&nbsp;</td><td>zmienna przechowujaca temperaturę </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Zwraca:</b></dt><dd>bajt z temperaturą ds </dd></dl>

</div>
</div>
<a class="anchor" id="ac03d277ff8aab50c0865b6ec76d7dfed"></a><!-- doxytag: member="temp.c::temp_discover_sensors" ref="ac03d277ff8aab50c0865b6ec76d7dfed" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_discover_sensors </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Wykrywa wszystkie wiszące na przewodzie czujniki przy pomocy procedury ROM_SEARCH. </p>

</div>
</div>
<a class="anchor" id="aeaf33e3e317e62f77f60cd71d94f500e"></a><!-- doxytag: member="temp.c::temp_ds_to_dec" ref="aeaf33e3e317e62f77f60cd71d94f500e" args="(TEMP t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t temp_ds_to_dec </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="aquamat_8h.html#a1540f4879d7cf61a5045f830883d843b">TEMP</a>&nbsp;</td>
          <td class="paramname"> <em>t</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Konwertuje dzisiętne części temperatury z formatu ds na format dziesiętny. </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>t</em>&nbsp;</td><td>zmienna przechowujaca temperaturę </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Zwraca:</b></dt><dd>bajt z temperaturą dziesiętną </dd></dl>

</div>
</div>
<a class="anchor" id="ab4719f3a050de5d1fe4d846d9ab82fd7"></a><!-- doxytag: member="temp.c::temp_read_scratchpad" ref="ab4719f3a050de5d1fe4d846d9ab82fd7" args="(uint8_t *buffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_read_scratchpad </td>
          <td>(</td>
          <td class="paramtype">uint8_t *&nbsp;</td>
          <td class="paramname"> <em>buffer</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Odczytuje dane ze pamięci czujnika. </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buffer</em>&nbsp;</td><td>bufor, do którego zapisywane są dane </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9c945e5ff8e1173034f437d897239b39"></a><!-- doxytag: member="temp.c::temp_read_temp_from_ds" ref="a9c945e5ff8e1173034f437d897239b39" args="(uint8_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_read_temp_from_ds </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Czyta temperaturę z czujnika </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>indentyfikator czujnika </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a1006baf3907971c5da24db7cebd0b30b"></a><!-- doxytag: member="temp.c::temp_read_temperature" ref="a1006baf3907971c5da24db7cebd0b30b" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_read_temperature </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Czyta temperaturę z czujników i składuje ją w strukturze <a class="el" href="structTEMP__SENSOR.html">TEMP_SENSOR</a>. </p>

</div>
</div>
<a class="anchor" id="a0c427afd8b0a332f2f847621104b76f0"></a><!-- doxytag: member="temp.c::temp_register" ref="a0c427afd8b0a332f2f847621104b76f0" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_register </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Zapisuje do loga aktualną wartość temperatury z poszczególnych czujników </p>

</div>
</div>
<a class="anchor" id="afdc2507dc314b972dede2286438a0f78"></a><!-- doxytag: member="temp.c::temp_set_alarms" ref="afdc2507dc314b972dede2286438a0f78" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_set_alarms </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname"></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ustawia alarmy i loguje zdarzenia </p>

</div>
</div>
<a class="anchor" id="a95624d866c9269a0c24cb9081d6f0e53"></a><!-- doxytag: member="temp.c::temp_set_daynight" ref="a95624d866c9269a0c24cb9081d6f0e53" args="(uint8_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_set_daynight </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Wybiera temperaturę dzienną lub nocną </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>identyfikator czujnika </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a0be120dbdab3d117238c1abfcbf76e77"></a><!-- doxytag: member="temp.c::temp_set_failure" ref="a0be120dbdab3d117238c1abfcbf76e77" args="(uint8_t id, uint8_t new_state)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_set_failure </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>new_state</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="a7bb66433d9fa07804316b3b46bc53ead"></a><!-- doxytag: member="temp.c::temp_set_next_convert" ref="a7bb66433d9fa07804316b3b46bc53ead" args="(uint8_t id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_set_next_convert </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>id</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Ustawia kolejna konwersję temperatury </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>indentyfikator czujnika </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a19ad9eed125e4bba3cf105136837b881"></a><!-- doxytag: member="temp.c::temp_set_outs" ref="a19ad9eed125e4bba3cf105136837b881" args="(uint8_t s)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void temp_set_outs </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>s</em></td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Wysterowuje wyjścia w zależności od ustwień flag. </p>
<dl><dt><b>Parametry:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>index sensora </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Dokumentacja zmiennych</h2>
<a class="anchor" id="a7181d034ffff2a9c93bef50c176b638c"></a><!-- doxytag: member="temp.c::arr" ref="a7181d034ffff2a9c93bef50c176b638c" args="[9]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint8_t <a class="el" href="temp_8c.html#a7181d034ffff2a9c93bef50c176b638c">arr</a>[9]</td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
<a class="anchor" id="af8aa26bf0f43e58338299be33649f3de"></a><!-- doxytag: member="temp.c::TEMP_CONVERT_DEC_TO_DS" ref="af8aa26bf0f43e58338299be33649f3de" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ui_8c.html#a200eaeded377a7a8d9222c3eb6d0031d">PROGMEM</a> const uint8_t <a class="el" href="temp_8c.html#af8aa26bf0f43e58338299be33649f3de">TEMP_CONVERT_DEC_TO_DS</a>[]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Wartość początkowa:</b><div class="fragment"><pre class="fragment"> {
    0,  
    2,  
    4,  
    5,  
    7,  
    8,  
    10, 
    12, 
    13, 
    15, 
}
</pre></div>
</div>
</div>
<a class="anchor" id="a50d2b3ef52ff35d24b62df8b9ade0487"></a><!-- doxytag: member="temp.c::TEMP_CONVERT_DS_TO_DEC" ref="a50d2b3ef52ff35d24b62df8b9ade0487" args="[]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ui_8c.html#a200eaeded377a7a8d9222c3eb6d0031d">PROGMEM</a> const uint8_t <a class="el" href="temp_8c.html#a50d2b3ef52ff35d24b62df8b9ade0487">TEMP_CONVERT_DS_TO_DEC</a>[]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<b>Wartość początkowa:</b><div class="fragment"><pre class="fragment"> {
    0,  
    1,  
    1,  
    2,  
    2,  
    3,  
    4,  
    4,  
    5,  
    6,  
    6,  
    7,  
    7,  
    8,  
    9,  
    9   
}
</pre></div>
</div>
</div>
<a class="anchor" id="a401d891434b06c8f80c37ebc9fe5198f"></a><!-- doxytag: member="temp.c::temp_sensors" ref="a401d891434b06c8f80c37ebc9fe5198f" args="[TEMP_SENSORS_NUM]" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structTEMP__SENSOR.html">TEMP_SENSOR</a> <a class="el" href="temp_8h.html#aa4a9e752f50715249c70e783bc01b912">temp_sensors</a>[TEMP_SENSORS_NUM]</td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Przechowuje struktury czujników. </p>

</div>
</div>
<a class="anchor" id="a9cb6a18b849344440771102399431784"></a><!-- doxytag: member="temp.c::temp_var" ref="a9cb6a18b849344440771102399431784" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint16_t <a class="el" href="temp_8c.html#a9cb6a18b849344440771102399431784">temp_var</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">

</div>
</div>
</div>
<hr size="1">
<div style="text-align: center;">
<small>Projekt udostępniony jest na zasadach Open Source. Zapoznaj się z warunkami licencji w pliku COPYING znajdujacym się w katalogu głównym.	</small>
</div>

<hr size="1">
<div style="text-align: center;">
Aquamat - sterownik akwarystyczny Open Source
<br/>
Copyright (C) 2009  <a href="http://todryk.pl">Wojciech Todryk</a> (wojciech(at)todryk(dot)pl)
</div>

<div style="text-align: right;">
<small>Dokumentację wygenerowano za pomocą programu&nbsp;</small>
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a>
<small> wersja 1.6.1 (Fri Apr 23 22:48:16 2010)&nbsp;</small>
</div>
